﻿ using System;
using Core.CSV;
using Core.Event;
using Core.Utils;
using Game;
using Game.UI;
using Game.UI.Weapon;
using Mono.Cecil;
using UnityEngine;
using Util;
using Enemy = Game.Combat.Enemy.Enemy;

namespace Core
{
    /// <summary>
    /// 挂载对象
    /// </summary>
    public class GameApp : MonoBehaviour
    {
        private void Awake()
        {
            preLoad();
        }

        /// <summary>
        /// 预加载
        /// </summary>
        private void preLoad() {
            //加载设置
            loadSettings();
            //协程管理器
            MonoHelper.Ins.Init();
            ///对象池管理器初始化
            PoolMgr.Ins.Init();
            //CSV管理器初始化
            CSVMgr.Ins.Init();
            //资源管理器初始化
            ResourceMgr.Ins.Init();
            //输入模块初始化
            GameInput.Ins.Init();
            //事件模块初始化
            GameEventMgr.Ins.Init();
            //玩家初始化
            PlayerManager.Ins.RegisterPlayer(new Player("Player"));
            //时间事件管理器
            TimerMgr.Ins.Init();

            //创建一个敌人
            Game.Combat.Enemy.Enemy enemy = new Game.Combat.Enemy.Enemy("123");
        }

        private void loadSettings() {
            GameConfig.Init();
        }
    }
}